package com.ljh.lottery.service;

import com.ljh.lottery.pojo.request.CreateActivityRequest;
import com.ljh.lottery.pojo.request.PageRequest;
import com.ljh.lottery.service.dto.ActivityDTO;
import com.ljh.lottery.service.dto.ActivityDetailDTO;
import com.ljh.lottery.service.dto.CreateActivityDTO;
import com.ljh.lottery.service.dto.PageListDTO;

public interface ActivityService {
    /**
     * 创建活动
     * @param param 活动参数
     * @return 活动数据转换对象
     */
    CreateActivityDTO createActivity(CreateActivityRequest param);

    /**
     * 获取活动列表
     * @param param 页参数
     * @return 活动列表数据转换对象
     */
    PageListDTO<ActivityDTO> getActivityPageList(PageRequest param);

    /**
     * 获取完整的活动信息
     * @param activityId 活动 id
     * @return 完整的活动信息
     */
    ActivityDetailDTO getActivityDetail(Long activityId);

    /**
     * 缓存完整的活动信息
     * @param activityId 活动 id
     */
    void cacheActivity(Long activityId);
}
